// var test =
//   (function (x) {
//   this.x = x;
//   return function (y) {
//     return this.x + y;
//   }
// }(function (x, y) {
//   return x;
// }(1, 2)));


let test = (function (x) {
  //console.log(this);// 指向规则 : 函数的调用者(es5) this属于window   ()=>{this} 外层函数调用者
  this.x = x; // x挂载到window上了
  return function (y) {
    console.log(this); // window
    return this.x + y;
  }
})(function num(x, y) {
  return x;
}(1, 2));

console.log(test(3)); // 4
